///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version May  4 2010)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////

#include "wx/wxprec.h"

#ifdef __BORLANDC__
#pragma hdrstop
#endif //__BORLANDC__

#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif //WX_PRECOMP

#include "component_info_panel.h"
#include "component_tree_panel.h"
#include "design_panel.h"
#include "info_panel.h"
#include "tab_panel.h"
#include "wx/sheet/sheet.h"

#include "gui_frames.h"

///////////////////////////////////////////////////////////////////////////

GUIFrame::GUIFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
	
	mbar = new wxMenuBar( 0 );
	fileMenu = new wxMenu();
	wxMenuItem* menuFileNew;
	menuFileNew = new wxMenuItem( fileMenu, idMenuNew, wxString( _("&New Project") ) + wxT('\t') + wxT("Ctrl+N"), wxEmptyString, wxITEM_NORMAL );
	fileMenu->Append( menuFileNew );
	
	wxMenuItem* m_menuItem5;
	m_menuItem5 = new wxMenuItem( fileMenu, idMenuLoad, wxString( _("Open...") ) + wxT('\t') + wxT("Ctrl+O"), wxEmptyString, wxITEM_NORMAL );
	fileMenu->Append( m_menuItem5 );
	
	wxMenuItem* m_menuItem8;
	m_menuItem8 = new wxMenuItem( fileMenu, idMenuSave, wxString( _("Save") ) + wxT('\t') + wxT("Ctrl+S"), wxEmptyString, wxITEM_NORMAL );
	fileMenu->Append( m_menuItem8 );
	
	wxMenuItem* m_menuItem9;
	m_menuItem9 = new wxMenuItem( fileMenu, idMenuSaveAs, wxString( _("Save As...") ) + wxT('\t') + wxT("Ctrl+Shift+S"), wxEmptyString, wxITEM_NORMAL );
	fileMenu->Append( m_menuItem9 );
	
	m_menu2 = new wxMenu();
	wxMenuItem* m_menuItem21;
	m_menuItem21 = new wxMenuItem( m_menu2, idMenuImportFromClipboard, wxString( _("Design") ) , wxEmptyString, wxITEM_NORMAL );
	m_menu2->Append( m_menuItem21 );
	
	fileMenu->Append( -1, _("Import from clipboard"), m_menu2 );
	
	wxMenuItem* m_separator1;
	m_separator1 = fileMenu->AppendSeparator();
	
	wxMenuItem* m_menuItem131;
	m_menuItem131 = new wxMenuItem( fileMenu, idMenuSettings, wxString( _("Settings...") ) , wxEmptyString, wxITEM_NORMAL );
	fileMenu->Append( m_menuItem131 );
	
	wxMenuItem* m_separator2;
	m_separator2 = fileMenu->AppendSeparator();
	
	wxMenuItem* menuFileQuit;
	menuFileQuit = new wxMenuItem( fileMenu, idMenuQuit, wxString( _("&Quit") ) + wxT('\t') + wxT("Alt+F4"), _("Quit the application"), wxITEM_NORMAL );
	fileMenu->Append( menuFileQuit );
	
	mbar->Append( fileMenu, _("&File") ); 
	
	componentMenu = new wxMenu();
	wxMenuItem* m_menuItem4;
	m_menuItem4 = new wxMenuItem( componentMenu, idMenuChangeRace, wxString( _("Change race...") ) , wxEmptyString, wxITEM_NORMAL );
	componentMenu->Append( m_menuItem4 );
	
	wxMenuItem* m_menuItem10;
	m_menuItem10 = new wxMenuItem( componentMenu, idMenuChangeTempTechLevel, wxString( _("Change tech level...") ) , wxEmptyString, wxITEM_NORMAL );
	componentMenu->Append( m_menuItem10 );
	
	wxMenuItem* m_separator3;
	m_separator3 = componentMenu->AppendSeparator();
	
	m_menu1 = new wxMenu();
	wxMenuItem* m_menuItem22;
	m_menuItem22 = new wxMenuItem( m_menu1, idMenuClearCell, wxString( _("Clear content") ) + wxT('\t') + wxT("C"), wxEmptyString, wxITEM_NORMAL );
	m_menu1->Append( m_menuItem22 );
	
	wxMenuItem* m_menuItem19;
	m_menuItem19 = new wxMenuItem( m_menu1, idMenuSetAsPrev, wxString( _("Set as previous") ) + wxT('\t') + wxT("L"), wxEmptyString, wxITEM_NORMAL );
	m_menu1->Append( m_menuItem19 );
	
	wxMenuItem* m_separator4;
	m_separator4 = m_menu1->AppendSeparator();
	
	wxMenuItem* m_menuItem6;
	m_menuItem6 = new wxMenuItem( m_menu1, idMenuIncreaseLevel, wxString( _("Increase level") ) + wxT('\t') + wxT("W"), wxEmptyString, wxITEM_NORMAL );
	m_menu1->Append( m_menuItem6 );
	
	wxMenuItem* m_menuItem7;
	m_menuItem7 = new wxMenuItem( m_menu1, idMenuDecreaseLevel, wxString( _("Decrease level") ) + wxT('\t') + wxT("S"), wxEmptyString, wxITEM_NORMAL );
	m_menu1->Append( m_menuItem7 );
	
	wxMenuItem* m_separator5;
	m_separator5 = m_menu1->AppendSeparator();
	
	wxMenuItem* m_menuItem12;
	m_menuItem12 = new wxMenuItem( m_menu1, idMenuSelectNextCell, wxString( _("Select next cell") ) + wxT('\t') + wxT("D"), wxEmptyString, wxITEM_NORMAL );
	m_menu1->Append( m_menuItem12 );
	
	wxMenuItem* m_menuItem13;
	m_menuItem13 = new wxMenuItem( m_menu1, idMenuSelectPrevCell, wxString( _("Select prev cell") ) + wxT('\t') + wxT("A"), wxEmptyString, wxITEM_NORMAL );
	m_menu1->Append( m_menuItem13 );
	
	componentMenu->Append( -1, _("Cell actions"), m_menu1 );
	
	wxMenuItem* m_separator6;
	m_separator6 = componentMenu->AppendSeparator();
	
	wxMenuItem* m_menuItem211;
	m_menuItem211 = new wxMenuItem( componentMenu, idMenuChangeBaseTechLevel, wxString( _("Change base tech level...") ) , wxEmptyString, wxITEM_NORMAL );
	componentMenu->Append( m_menuItem211 );
	
	mbar->Append( componentMenu, _("Componens") ); 
	
	m_menu5 = new wxMenu();
	wxMenuItem* m_menuItem221;
	m_menuItem221 = new wxMenuItem( m_menu5, idManageRaces, wxString( _("Manage races...") ) , wxEmptyString, wxITEM_NORMAL );
	m_menu5->Append( m_menuItem221 );
	
	mbar->Append( m_menu5, _("Races") ); 
	
	m_menu4 = new wxMenu();
	wxMenuItem* m_menuItem14;
	m_menuItem14 = new wxMenuItem( m_menu4, idMenuComponentPanel, wxString( _("Components panel") ) , wxEmptyString, wxITEM_CHECK );
	m_menu4->Append( m_menuItem14 );
	
	wxMenuItem* m_menuItem15;
	m_menuItem15 = new wxMenuItem( m_menu4, idMenuInformationPanel, wxString( _("Information panel") ) , wxEmptyString, wxITEM_CHECK );
	m_menu4->Append( m_menuItem15 );
	
	wxMenuItem* m_menuItem16;
	m_menuItem16 = new wxMenuItem( m_menu4, idMenuComponentInformationPanel, wxString( _("Component description panel") ) , wxEmptyString, wxITEM_CHECK );
	m_menu4->Append( m_menuItem16 );
	
	wxMenuItem* m_separator7;
	m_separator7 = m_menu4->AppendSeparator();
	
	wxMenuItem* m_menuItem17;
	m_menuItem17 = new wxMenuItem( m_menu4, idMenuShowCaption, wxString( _("Fix position for panel") ) , wxEmptyString, wxITEM_CHECK );
	m_menu4->Append( m_menuItem17 );
	
	mbar->Append( m_menu4, _("View") ); 
	
	helpMenu = new wxMenu();
	wxMenuItem* menuHelpAbout;
	menuHelpAbout = new wxMenuItem( helpMenu, idMenuAbout, wxString( _("&About") ) + wxT('\t') + wxT("F1"), _("Show info about this application"), wxITEM_NORMAL );
	helpMenu->Append( menuHelpAbout );
	
	mbar->Append( helpMenu, _("&Help") ); 
	
	this->SetMenuBar( mbar );
	
	wxBoxSizer* bSizer14;
	bSizer14 = new wxBoxSizer( wxVERTICAL );
	
	RaceNotebook = new wxAuiNotebook( this, idRaceNotebook, wxDefaultPosition, wxDefaultSize, wxAUI_NB_CLOSE_ON_ALL_TABS|wxAUI_NB_SCROLL_BUTTONS|wxAUI_NB_TAB_MOVE|wxAUI_NB_WINDOWLIST_BUTTON|wxCLIP_CHILDREN );
	TempPanel = new wxPanel( RaceNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	wxBoxSizer* bSizer10;
	bSizer10 = new wxBoxSizer( wxVERTICAL );
	
	SubPanel = new TabPanel( TempPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	bSizer10->Add( SubPanel, 1, wxEXPAND, 5 );
	
	TempPanel->SetSizer( bSizer10 );
	TempPanel->Layout();
	bSizer10->Fit( TempPanel );
	RaceNotebook->AddPage( TempPanel, _("Main"), false, wxNullBitmap );
	
	bSizer14->Add( RaceNotebook, 1, wxEXPAND, 5 );
	
	this->SetSizer( bSizer14 );
	this->Layout();
}

GUIFrame::~GUIFrame()
{
}

DesignPanelBase::DesignPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	wxBoxSizer* bSizer2;
	bSizer2 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer3;
	bSizer3 = new wxBoxSizer( wxHORIZONTAL );
	
	CurrentChassisBitmap = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 40,40 ), 0 );
	bSizer3->Add( CurrentChassisBitmap, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
	
	wxBoxSizer* bSizer7;
	bSizer7 = new wxBoxSizer( wxVERTICAL );
	
	ProjectNameSizer = new wxBoxSizer( wxHORIZONTAL );
	
	CurrentProjectName = new wxStaticText( this, idProjectName, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
	CurrentProjectName->Wrap( -1 );
	CurrentProjectName->SetFont( wxFont( 12, 72, 90, 92, false, wxEmptyString ) );
	
	ProjectNameSizer->Add( CurrentProjectName, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
	
	CopyToClipboardButton = new wxStaticBitmap( this, idCopyToClipboardButton, wxBitmap( wxT("designer/img/clip.gif"), wxBITMAP_TYPE_ANY ), wxDefaultPosition, wxDefaultSize, 0 );
	ProjectNameSizer->Add( CopyToClipboardButton, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizer7->Add( ProjectNameSizer, 1, wxEXPAND, 5 );
	
	CurrentChassisButton = new wxToggleButton( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
	CurrentChassisButton->SetMinSize( wxSize( 200,-1 ) );
	
	bSizer7->Add( CurrentChassisButton, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
	
	bSizer3->Add( bSizer7, 1, wxEXPAND, 5 );
	
	bSizer2->Add( bSizer3, 0, wxEXPAND, 5 );
	
	MainCellsSizer = new wxFlexGridSizer( 6, 2, 0, 5 );
	MainCellsSizer->AddGrowableCol( 0 );
	MainCellsSizer->AddGrowableCol( 1 );
	MainCellsSizer->AddGrowableRow( 1 );
	MainCellsSizer->AddGrowableRow( 3 );
	MainCellsSizer->AddGrowableRow( 5 );
	MainCellsSizer->SetFlexibleDirection( wxBOTH );
	MainCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	m_staticText1 = new wxStaticText( this, wxID_ANY, _("Front cells"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText1->Wrap( -1 );
	m_staticText1->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	MainCellsSizer->Add( m_staticText1, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	m_staticText2 = new wxStaticText( this, wxID_ANY, _("Transport cells"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText2->Wrap( -1 );
	m_staticText2->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	MainCellsSizer->Add( m_staticText2, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	FrontCellsSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
	FrontCellsSizer->AddGrowableCol( 0 );
	FrontCellsSizer->AddGrowableCol( 1 );
	FrontCellsSizer->SetFlexibleDirection( wxBOTH );
	FrontCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	MainCellsSizer->Add( FrontCellsSizer, 1, wxEXPAND, 5 );
	
	TransportCellsSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
	TransportCellsSizer->AddGrowableCol( 0 );
	TransportCellsSizer->AddGrowableCol( 1 );
	TransportCellsSizer->SetFlexibleDirection( wxBOTH );
	TransportCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	MainCellsSizer->Add( TransportCellsSizer, 1, wxEXPAND, 5 );
	
	m_staticText3 = new wxStaticText( this, wxID_ANY, _("Side cells"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText3->Wrap( -1 );
	m_staticText3->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	MainCellsSizer->Add( m_staticText3, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	m_staticText4 = new wxStaticText( this, wxID_ANY, _("External cells"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText4->Wrap( -1 );
	m_staticText4->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	MainCellsSizer->Add( m_staticText4, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	SideCellsSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
	SideCellsSizer->AddGrowableCol( 0 );
	SideCellsSizer->AddGrowableCol( 1 );
	SideCellsSizer->SetFlexibleDirection( wxBOTH );
	SideCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	MainCellsSizer->Add( SideCellsSizer, 1, wxEXPAND, 5 );
	
	ExternalCellsSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
	ExternalCellsSizer->AddGrowableCol( 0 );
	ExternalCellsSizer->AddGrowableCol( 1 );
	ExternalCellsSizer->SetFlexibleDirection( wxBOTH );
	ExternalCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	MainCellsSizer->Add( ExternalCellsSizer, 1, wxEXPAND, 5 );
	
	m_staticText5 = new wxStaticText( this, wxID_ANY, _("Stern cells"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText5->Wrap( -1 );
	m_staticText5->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	MainCellsSizer->Add( m_staticText5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	m_staticText6 = new wxStaticText( this, wxID_ANY, _("Special cells"), wxDefaultPosition, wxDefaultSize, 0 );
	m_staticText6->Wrap( -1 );
	m_staticText6->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
	
	MainCellsSizer->Add( m_staticText6, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxTOP|wxRIGHT|wxLEFT, 5 );
	
	SternCellsSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
	SternCellsSizer->AddGrowableCol( 0 );
	SternCellsSizer->AddGrowableCol( 1 );
	SternCellsSizer->SetFlexibleDirection( wxBOTH );
	SternCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	MainCellsSizer->Add( SternCellsSizer, 1, wxEXPAND, 5 );
	
	SpecialCellsSizer = new wxFlexGridSizer( 2, 2, 0, 0 );
	SpecialCellsSizer->AddGrowableCol( 0 );
	SpecialCellsSizer->AddGrowableCol( 1 );
	SpecialCellsSizer->SetFlexibleDirection( wxBOTH );
	SpecialCellsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
	
	MainCellsSizer->Add( SpecialCellsSizer, 1, wxEXPAND, 5 );
	
	bSizer2->Add( MainCellsSizer, 1, wxEXPAND, 5 );
	
	this->SetSizer( bSizer2 );
	this->Layout();
	bSizer2->Fit( this );
}

DesignPanelBase::~DesignPanelBase()
{
}

InfoPanelBase::InfoPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	wxBoxSizer* bSizer11;
	bSizer11 = new wxBoxSizer( wxVERTICAL );
	
	ScrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
	ScrolledWindow->SetScrollRate( 5, 5 );
	DataSizer = new wxBoxSizer( wxVERTICAL );
	
	m_checkBox2 = new wxCheckBox( ScrolledWindow, idIncludeImportCheck, _("Include import"), wxDefaultPosition, wxDefaultSize, 0 );
	DataSizer->Add( m_checkBox2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
	
	ScrolledWindow->SetSizer( DataSizer );
	ScrolledWindow->Layout();
	DataSizer->Fit( ScrolledWindow );
	bSizer11->Add( ScrolledWindow, 1, wxEXPAND | wxALL, 5 );
	
	this->SetSizer( bSizer11 );
	this->Layout();
	bSizer11->Fit( this );
}

InfoPanelBase::~InfoPanelBase()
{
}

ComponentInfoPanelBase::ComponentInfoPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	wxBoxSizer* bSizer7;
	bSizer7 = new wxBoxSizer( wxVERTICAL );
	
	LevelInfoGrid = new wxSheet( this, idLevelInfoGrid, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	bSizer7->Add( LevelInfoGrid, 1, wxEXPAND, 5 );
	
	this->SetSizer( bSizer7 );
	this->Layout();
	bSizer7->Fit( this );
}

ComponentInfoPanelBase::~ComponentInfoPanelBase()
{
}

ComponentTreePanelBase::ComponentTreePanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	wxBoxSizer* bSizer13;
	bSizer13 = new wxBoxSizer( wxVERTICAL );
	
	ComponentTree = new wxTreeCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTR_DEFAULT_STYLE|wxTR_FULL_ROW_HIGHLIGHT|wxTR_HIDE_ROOT|wxTR_NO_LINES|wxTR_SINGLE );
	bSizer13->Add( ComponentTree, 1, wxEXPAND, 5 );
	
	this->SetSizer( bSizer13 );
	this->Layout();
	bSizer13->Fit( this );
}

ComponentTreePanelBase::~ComponentTreePanelBase()
{
}

TabPanelBase::TabPanelBase( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
	wxBoxSizer* bSizer1;
	bSizer1 = new wxBoxSizer( wxHORIZONTAL );
	
	ComponentPanel = new ComponentTreePanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	bSizer1->Add( ComponentPanel, 4, wxEXPAND, 5 );
	
	MainPanel = new DesignPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	bSizer1->Add( MainPanel, 8, wxEXPAND, 5 );
	
	InformationPanel = new InfoPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	bSizer1->Add( InformationPanel, 3, wxEXPAND, 5 );
	
	ComponentInformationPanel = new ComponentInfoPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	bSizer1->Add( ComponentInformationPanel, 1, wxEXPAND, 5 );
	
	this->SetSizer( bSizer1 );
	this->Layout();
}

TabPanelBase::~TabPanelBase()
{
}
